## Propósito del Script: Fecha de creación de FRE
##
##
## Copyright (c) Fondo Nacional de Estupefacientes, 2021
##
## Email: dsparra@minsalud.gov.co
require(vistime)
## Loading required package: vistime
## Warning: package 'vistime' was built under R version 3.6.3
require(plotly)
## Loading required package: plotly
## Warning: package 'plotly' was built under R version 3.6.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.6.3
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
require(tidyverse)
## Loading required package: tidyverse
## Warning: package 'tidyverse' was built under R version 3.6.3
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v tibble 3.1.0 v dplyr 1.0.5
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.1
## v purrr 0.3.4
## Warning: package 'tibble' was built under R version 3.6.3
## Warning: package 'tidyr' was built under R version 3.6.3
## Warning: package 'readr' was built under R version 3.6.3
## Warning: package 'purrr' was built under R version 3.6.3
## Warning: package 'forcats' was built under R version 3.6.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks plotly::filter(), stats::filter()
## x dplyr::lag() masks stats::lag()
require(lubridate)
## Loading required package: lubridate
## Warning: package 'lubridate' was built under R version 3.6.3
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
df <- read_csv(file.path('data', 'processed', '001_Herramienta_Procesada.csv'))
##
## -- Column specification --------------------------------------------------------
## cols(
## .default = col_character(),
## `Marca temporal` = col_datetime(format = ""),
## `Fecha de la visita` = col_datetime(format = ""),
## `Fecha creación FRE` = col_datetime(format = ""),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...19` = col_logical(),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...24` = col_logical(),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...27` = col_logical(),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...29` = col_logical(),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...34` = col_logical(),
## `Si la respuesta a la pregunta anterior fue "otro", indique cual:...43` = col_logical(),
## `3.01 Existencias actuales de recetarios en el FRE` = col_double(),
## `3.03 Tiempo de duración proyectada de las actuales existencias de recetarios (semanas).` = col_double(),
## `3.04 N.º folios que tiene el recetario` = col_double(),
## `3.05 N.º de prescripciones por recetario` = col_double(),
## `3.06 Costo de adquisición del recetario (COP)` = col_double(),
## `4.05. ¿Cuántos equipos de cómputo tiene el FRE para el desarrollo de sus actividades?` = col_double(),
## `Si la respuesta anterior fue otra, indique cual` = col_logical(),
## `Si la respuesta anterior fue otro, indique cual...179` = col_logical(),
## CodigoDepartamento = col_double()
## )
## i Use `spec()` for the full column specifications.
year_df <- tibble(start = seq(1960, 2015, 5),
end = seq(1965, 2020, 5)) %>%
mutate(start = as.character(start))
year_df <- year_df %>%
add_column(color = rep(c('#258a40', '#59ff86'), dim(year_df)[1] / 2),
event = paste0('ID', formatC(1:dim(year_df)[1], width = 2, flag = '0')),
group = 'Serie Tiempo') %>%
mutate(across(c(start, end), list(date = function(x) ymd(paste(x, '01', '01', sep = '-')))))
vistime(year_df,
col.event = 'start',
col.start = 'start_date',
col.end = 'end_date')
paleta <- RColorBrewer::brewer.pal(12, 'Set3')
p <- df %>%
select(Departamento_1, `Fecha creación FRE`) %>%
drop_na() %>%
mutate(
start_date = as.Date(`Fecha creación FRE`),
end_date = as.Date(`Fecha creación FRE`),
start = Departamento_1,
group = 'Fecha de Creación',
color = map_chr(Departamento_1, ~paleta[runif(1, 1, 12)])
) %>%
bind_rows(year_df) %>%
vistime(col.event = 'start',
col.start = 'start_date',
col.end = 'end_date')
pp <- plotly::plotly_build(p)
marker_idx <- which(purrr::map_chr(pp$x$data, "mode") == "markers")
for(i in marker_idx) pp$x$data[[i]]$marker$size <- 12
text_idx <- which(purrr::map_chr(pp$x$data, "mode") == "text")
for(i in text_idx){
pp$x$data[[i]]$textfont$size <- 10
pp$x$data[[i]]$text <- str_to_sentence(pp$x$data[[i]]$text)
}
# pp$x$config$displaylogo
text_idx_1 <-
which((map(pp$x$data, "text") %>% str_detect('Tolima')) &
(map_chr(pp$x$data, "mode") == "text"))
## Warning in stri_detect_regex(string, pattern, negate = negate, opts_regex =
## opts(pattern)): argument is not an atomic vector; coercing
for(i in text_idx_1) pp$x$data[[i]]$y <- pp$x$data[[i]]$y %>% {. + rnorm(length(.), 0, 0.2)}
pp$x$config$displaylogo <- FALSE
pp